home *** CD-ROM | disk | FTP | other *** search
/ Macworld Expo - Develope…Central & Net Innovations / Developer Central and Net Innovators (MacWorld Expo) (January 1999).iso / Developer Central / Bowers Development / Demo AppMaker / Examples / plain C OS8 / Gadgets / AboutDialog.c next >
Encoding:
C/C++ Source or Header  |  1998-10-29  |  2.0 KB  |  120 lines  |  [TEXT/CWIE]

  1. /* AboutDialog.c -- Modal dialog */
  2.  
  3. #include <Types.h>
  4. #include <Quickdraw.h>
  5. #include <Controls.h>
  6. #include <Dialogs.h>
  7. #include <Events.h>
  8. #include <Lists.h>
  9. #include <Menus.h>
  10. #include <TextEdit.h>
  11. #include <Appearance.h>
  12. #include <stdlib.h>
  13.  
  14. #include "ResourceDefs.h"
  15. #include "Miscellany.h"
  16. #include "ControlUtils.h"
  17. //#include "DialogAids.h"
  18. //#include "WindowAids.h"
  19.  
  20. #include "Dispatcher.h"
  21. #include "AboutDialog.h"
  22.  
  23. #define kOKButton        1
  24. #define kAboutLabel        2
  25.  
  26.  
  27. /*----------*/
  28. Boolean        GetAboutDialog ()
  29. {
  30.     Boolean            result = false;
  31.     AboutDialog*        dialog = NewAboutDialog ();
  32.  
  33.     result = AMDialog_RunModal ((AMDialog*)dialog, DLOG_AboutDialog, nil);
  34.  
  35.     DeleteAboutDialog (dialog);
  36.  
  37.     return result;
  38. }
  39.  
  40. //----------
  41. AboutDialog*        NewAboutDialog ()
  42. {
  43.     AboutDialog*        dialog;
  44.  
  45.     dialog = (AboutDialog*)malloc (sizeof (AboutDialog));
  46.     AboutDialog_Init (dialog);
  47.     SetClassID (dialog, classAboutDialog);
  48.  
  49.     return dialog;
  50. }
  51.  
  52. //----------
  53. void    DeleteAboutDialog (
  54.     AboutDialog*        dialog)
  55. {
  56.     AboutDialog_Free (dialog);
  57.     free (dialog);
  58. }
  59.  
  60. //----------
  61. void    AboutDialog_Init (
  62.     AboutDialog*        self)
  63. {
  64.     AMDialog_Init ((AMDialog*)self);
  65. }
  66.  
  67. //----------
  68. void    AboutDialog_Free (
  69.     AboutDialog*        self)
  70. {
  71.     AMDialog_Free ((AMDialog*)self);
  72. }
  73.  
  74. //----------
  75. void    AboutDialog_FinishMake (
  76.     AboutDialog*        self)
  77. {
  78.     self->mOKHandle = AMDialog_GetControlItem ((AMDialog*)self, kOKButton);
  79.     SetDefaultState (self->mOKHandle, true);
  80.     SetDialogDefaultItem (((AMDialog*)self)->mDialog, kOKButton);
  81. }
  82.  
  83. //----------
  84. void    AboutDialog_ConnectToData (
  85.     AboutDialog*        self,
  86.     AMSignaler*        inData)
  87. {
  88.     AMDialog_ConnectToData ((AMDialog*)self, inData);
  89.  
  90. }
  91.  
  92. //----------
  93. void    AboutDialog_DoItem (
  94.     AboutDialog*        self,
  95.     SInt16        inItemHit)
  96. {
  97.     switch (inItemHit) {
  98.     case kOKButton:
  99.             AMDialog_SetResult ((AMDialog*)self, true);
  100.         break;
  101.  
  102.     } // switch
  103. }
  104.  
  105. //----------
  106. void    AboutDialog_DataChanged (
  107.     AboutDialog*        self,
  108.     long        inDataID)
  109. {
  110. }
  111.  
  112. //----------
  113. Boolean        AboutDialog_Filter (
  114.     AboutDialog*            self,
  115.     EventRecord            *ioEvent,
  116.     DialogItemIndex        *outItemHit)
  117. {
  118.     return AMDialog_Filter ((AMDialog*)self, ioEvent, outItemHit);
  119. }
  120.